diff --git a/application/controllers/welcome.php b/application/controllers/Welcome.php
similarity index 96%
rename from application/controllers/welcome.php
rename to application/controllers/Welcome.php
index 2f0e358..31ceea9 100644
--- a/application/controllers/welcome.php
+++ b/application/controllers/Welcome.php
@@ -50,4 +50,4 @@
 }
 
 /* End of file welcome.php */
-/* Location: ./application/controllers/welcome.php */
\ No newline at end of file
+/* Location: ./application/controllers/Welcome.php */
\ No newline at end of file
diff --git a/index.php b/index.php
index e5f570e..f93cadb 100755
--- a/index.php
+++ b/index.php
@@ -274,4 +274,4 @@
 require_once BASEPATH.'core/CodeIgniter.php';
 
 /* End of file index.php */
-/* Location: ./index.php */
+/* Location: ./index.php */
\ No newline at end of file
diff --git a/system/core/CodeIgniter.php b/system/core/CodeIgniter.php
index c682664..a026920 100644
--- a/system/core/CodeIgniter.php
+++ b/system/core/CodeIgniter.php
@@ -240,12 +240,13 @@
 	// Load the local application controller
 	// Note: The Router class automatically validates the controller path using the router->_validate_request().
 	// If this include fails it means that the default controller in the Routes.php file is not resolving to something valid.
-	if ( ! file_exists(APPPATH.'controllers/'.$RTR->directory.$RTR->class.'.php'))
+	$class = ucfirst($RTR->class);
+	if ( ! file_exists(APPPATH.'controllers/'.$RTR->directory.$class.'.php'))
 	{
 		show_error('Unable to load your default controller. Please make sure the controller specified in your Routes.php file is valid.');
 	}
 
-	include(APPPATH.'controllers/'.$RTR->directory.$RTR->class.'.php');
+	include(APPPATH.'controllers/'.$RTR->directory.$class.'.php');
 
 	// Set a mark point for benchmarking
 	$BM->mark('loading_time:_base_classes_end');
@@ -257,9 +258,8 @@
  *
  *  None of the methods in the app controller or the
  *  loader class can be called via the URI, nor can
- *  controller functions that begin with an underscore.
+ *  controller methods that begin with an underscore.
  */
-	$class	= $RTR->class;
 	$method	= $RTR->method;
 
 	if ( ! class_exists($class, FALSE) OR $method[0] === '_' OR method_exists('CI_Controller', $method))
@@ -271,6 +271,8 @@
 				$method = 'index';
 			}
 
+			$class = ucfirst($class);
+
 			if ( ! class_exists($class, FALSE))
 			{
 				if ( ! file_exists(APPPATH.'controllers/'.$class.'.php'))
@@ -309,6 +311,8 @@
 				$method = 'index';
 			}
 
+			$class = ucfirst($class);
+
 			if ( ! class_exists($class, FALSE))
 			{
 				if ( ! file_exists(APPPATH.'controllers/'.$class.'.php'))
diff --git a/system/core/Loader.php b/system/core/Loader.php
index 70a6b6f..535c9e4 100644
--- a/system/core/Loader.php
+++ b/system/core/Loader.php
@@ -261,7 +261,22 @@
 			show_error('The model name you are loading is the name of a resource that is already being used: '.$name);
 		}
 
-		$model = strtolower($model);
+		if ($db_conn !== FALSE && ! class_exists('CI_DB', FALSE))
+		{
+			if ($db_conn === TRUE)
+			{
+				$db_conn = '';
+			}
+
+			$CI->load->database($db_conn, FALSE, TRUE);
+		}
+
+		if ( ! class_exists('CI_Model', FALSE))
+		{
+			load_class('Model', 'core');
+		}
+
+		$model = ucfirst(strtolower($model));
 
 		foreach ($this->_ci_model_paths as $mod_path)
 		{
@@ -270,24 +285,8 @@
 				continue;
 			}
 
-			if ($db_conn !== FALSE && ! class_exists('CI_DB', FALSE))
-			{
-				if ($db_conn === TRUE)
-				{
-					$db_conn = '';
-				}
-
-				$CI->load->database($db_conn, FALSE, TRUE);
-			}
-
-			if ( ! class_exists('CI_Model', FALSE))
-			{
-				load_class('Model', 'core');
-			}
-
 			require_once($mod_path.'models/'.$path.$model.'.php');
 
-			$model = ucfirst($model);
 			$CI->$name = new $model();
 			$this->_ci_models[] = $name;
 			return;
diff --git a/system/core/Router.php b/system/core/Router.php
index cc3916f..989ae54 100644
--- a/system/core/Router.php
+++ b/system/core/Router.php
@@ -270,8 +270,7 @@
 			return $segments;
 		}
 
-		$test = ($this->translate_uri_dashes === TRUE)
-			? str_replace('-', '_', $segments[0]) : $segments[0];
+		$test = ucfirst($this->translate_uri_dashes === TRUE ? str_replace('-', '_', $segments[0]) : $segments[0]);
 
 		// Does the requested controller exist in the root folder?
 		if (file_exists(APPPATH.'controllers/'.$test.'.php'))
@@ -286,8 +285,7 @@
 			$this->set_directory(array_shift($segments));
 			if (count($segments) > 0)
 			{
-				$test = ($this->translate_uri_dashes === TRUE)
-					? str_replace('-', '_', $segments[0]) : $segments[0];
+				$test = ucfirst($this->translate_uri_dashes === TRUE ? str_replace('-', '_', $segments[0]) : $segments[0]);
 
 				// Does the requested controller exist in the sub-directory?
 				if ( ! file_exists(APPPATH.'controllers/'.$this->directory.$test.'.php'))
@@ -307,7 +305,7 @@
 			{
 				// Is the method being specified in the route?
 				$segments = explode('/', $this->default_controller);
-				if ( ! file_exists(APPPATH.'controllers/'.$this->directory.$segments[0].'.php'))
+				if ( ! file_exists(APPPATH.'controllers/'.$this->directory.ucfirst($segments[0]).'.php'))
 				{
 					$this->directory = '';
 				}
diff --git a/user_guide_src/source/general/cli.rst b/user_guide_src/source/general/cli.rst
index 998d2a9..4145d5c 100644
--- a/user_guide_src/source/general/cli.rst
+++ b/user_guide_src/source/general/cli.rst
@@ -33,7 +33,7 @@
 ==========================
 
 Let's create a simple controller so you can see it in action. Using your
-text editor, create a file called tools.php, and put the following code
+text editor, create a file called Tools.php, and put the following code
 in it::
 
 	<?php
diff --git a/user_guide_src/source/general/controllers.rst b/user_guide_src/source/general/controllers.rst
index 04f2327..d8ef824 100644
--- a/user_guide_src/source/general/controllers.rst
+++ b/user_guide_src/source/general/controllers.rst
@@ -18,7 +18,7 @@
 	example.com/index.php/blog/
 
 In the above example, CodeIgniter would attempt to find a controller
-named blog.php and load it.
+named Blog.php and load it.
 
 **When a controller's name matches the first segment of a URI, it will
 be loaded.**
@@ -27,7 +27,7 @@
 ==========================
 
 Let's create a simple controller so you can see it in action. Using your
-text editor, create a file called blog.php, and put the following code
+text editor, create a file called Blog.php, and put the following code
 in it::
 
 	<?php
@@ -41,6 +41,8 @@
 
 Then save the file to your *application/controllers/* directory.
 
+.. important:: The file must be called 'Blog.php', with a capital 'B'.
+
 Now visit the your site using a URL similar to this::
 
 	example.com/index.php/blog/
@@ -136,7 +138,7 @@
 To specify a default controller, open your **application/config/routes.php**
 file and set this variable::
 
-	$route['default_controller'] = 'blog';
+	$route['default_controller'] = 'Blog';
 
 Where Blog is the name of the controller class you want used. If you now
 load your main index.php file without specifying any URI segments you'll
@@ -272,7 +274,7 @@
 	specify the folder. For example, let's say you have a controller located
 	here::
 
-		application/controllers/products/shoes.php
+		application/controllers/products/Shoes.php
 
 	To call the above controller your URI will look something like this::
 
diff --git a/user_guide_src/source/general/creating_libraries.rst b/user_guide_src/source/general/creating_libraries.rst
index 4fc8ed7..4beb600 100644
--- a/user_guide_src/source/general/creating_libraries.rst
+++ b/user_guide_src/source/general/creating_libraries.rst
@@ -42,8 +42,7 @@
 The Class File
 ==============
 
-Classes should have this basic prototype (Note: We are using the name
-Someclass purely as an example)::
+Classes should have this basic prototype::
 
 	<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 
 
@@ -56,6 +55,8 @@
 
 	/* End of file Someclass.php */
 
+.. note:: We are using the name Someclass purely as an example.
+
 Using Your Class
 ================
 
@@ -81,7 +82,7 @@
 
 	$params = array('type' => 'large', 'color' => 'red');
 
-	$this->load->library('Someclass', $params);
+	$this->load->library('someclass', $params);
 
 If you use this feature you must set up your class constructor to expect
 data::
diff --git a/user_guide_src/source/general/libraries.rst b/user_guide_src/source/general/libraries.rst
index 6e1c8b6..9bbda51 100644
--- a/user_guide_src/source/general/libraries.rst
+++ b/user_guide_src/source/general/libraries.rst
@@ -29,4 +29,4 @@
 ===========================
 
 Please read the section of the user guide that discusses how to
-:doc:`create your own libraries <creating_libraries>`.
+:doc:`create your own libraries <creating_libraries>`.
\ No newline at end of file
diff --git a/user_guide_src/source/general/models.rst b/user_guide_src/source/general/models.rst
index a028a95..c4fd124 100644
--- a/user_guide_src/source/general/models.rst
+++ b/user_guide_src/source/general/models.rst
@@ -84,8 +84,7 @@
 the first letter capitalized with the rest of the name lowercase. Make
 sure your class extends the base Model class.
 
-The file name will be a lower case version of your class name. For
-example, if your class is this::
+The file name must match the class name. For example, if this is your class::
 
 	class User_model extends CI_Model {
 
@@ -98,7 +97,7 @@
 
 Your file will be this::
 
-	application/models/user_model.php
+	application/models/User_model.php
 
 Loading a Model
 ===============
@@ -111,7 +110,7 @@
 
 If your model is located in a sub-directory, include the relative path
 from your models directory. For example, if you have a model located at
-*application/models/blog/queries.php* you'll load it using::
+*application/models/blog/Queries.php* you'll load it using::
 
 	$this->load->model('blog/queries');
 
@@ -181,4 +180,4 @@
 	$config['pconnect'] = FALSE;
 	$config['db_debug'] = TRUE;
 
-	$this->load->model('Model_name', '', $config);
\ No newline at end of file
+	$this->load->model('model_name', '', $config);
\ No newline at end of file
diff --git a/user_guide_src/source/general/styleguide.rst b/user_guide_src/source/general/styleguide.rst
index 144b362..1683b04 100644
--- a/user_guide_src/source/general/styleguide.rst
+++ b/user_guide_src/source/general/styleguide.rst
@@ -71,13 +71,42 @@
 
 	echo "Here's my code!";
 
-	/* End of file myfile.php */
+	/* End of file Myfile.php */
 	/* Location: ./system/modules/mymodule/myfile.php */
 
 .. note:: There should be no empty line or newline character(s) following
 	the closing comments. If you happen to see one when
 	submitting a pull request, please check your IDE settings and fix it.
 
+File Naming
+===========
+
+Class files must be named in a Ucfirst-like manner, while any other file name
+(configurations, views, generic scripts, etc.) should be in all lowercase.
+
+**INCORRECT**::
+
+	somelibrary.php
+	someLibrary.php
+	SOMELIBRARY.php
+	Some_Library.php
+
+	Application_config.php
+	Application_Config.php
+	applicationConfig.php
+
+**CORRECT**::
+
+	SomeLibrary.php
+	Some_Library.php
+
+	applicationconfig.php
+	application_config.php
+
+Furthermore, class file names should match the name of the class itself.
+For example, if you have a class named `Myclass`, then its filename must
+be **Myclass.php**.
+
 Class and Method Naming
 =======================
 
diff --git a/user_guide_src/source/general/views.rst b/user_guide_src/source/general/views.rst
index 4b1ab3c..2fc0cb2 100644
--- a/user_guide_src/source/general/views.rst
+++ b/user_guide_src/source/general/views.rst
@@ -45,7 +45,7 @@
 .. note:: The .php file extension does not need to be specified
 	unless you use something other than .php.
 
-Now, open the controller file you made earlier called blog.php, and
+Now, open the controller file you made earlier called Blog.php, and
 replace the echo statement with the view loading method::
 
 	<?php
diff --git a/user_guide_src/source/helpers/smiley_helper.rst b/user_guide_src/source/helpers/smiley_helper.rst
index 7069b46..3925f8b 100644
--- a/user_guide_src/source/helpers/smiley_helper.rst
+++ b/user_guide_src/source/helpers/smiley_helper.rst
@@ -43,7 +43,7 @@
 The Controller
 --------------
 
-In your `application/controllers/` folder, create a file called
+In your **application/controllers/** directory, create a file called
 smileys.php and place the code below in it.
 
 .. important:: Change the URL in the :php:func:`get_clickable_smileys()`
@@ -70,7 +70,7 @@
 
 	}
 
-In your `application/views/` folder, create a file called `smiley_view.php`
+In your **application/views/** folder, create a file called **smiley_view.php**
 and place this code in it::
 
 	<html>
diff --git a/user_guide_src/source/installation/upgrade_300.rst b/user_guide_src/source/installation/upgrade_300.rst
index 6c5f569..3e8307c 100644
--- a/user_guide_src/source/installation/upgrade_300.rst
+++ b/user_guide_src/source/installation/upgrade_300.rst
@@ -17,22 +17,63 @@
 .. note:: If you have any custom developed files in these folders please
 	make copies of them first.
 
+**************************************
+Step 2: Update your classes file names
+**************************************
+
+Starting with CodeIgniter 3.0, all class filenames (libraries, drivers, controllers
+and models) must be named in a Ucfirst-like manner or in other words - they must
+start with a capital letter.
+
+For example, if you have the following library file:
+
+	application/libraries/mylibrary.php
+
+... then you'll have to rename it to:
+
+	application/libraries/Mylibrary.php
+
+The same goes for driver libraries and extensions and/or overrides of CodeIgniter's
+own libraries and core classes.
+
+	application/libraries/MY_email.php
+	application/core/MY_log.php
+
+The above files should respectively be renamed to the following:
+
+	application/libraries/MY_Email.php
+	application/core/MY_Log.php
+
+Controllers:
+
+	application/controllers/welcome.php	->	application/controllers/Welcome.php
+
+Models:
+
+	application/models/misc_model.php	->	application/models/Misc_model.php
+
+Please note that this DOES NOT affect directories, configuration files, views,
+helpers, hooks and anything else - it is only applied to classes.
+
+You must now follow just one simple rule - class names in Ucfirst and everything else
+in lowercase.
+
 ********************************
-Step 2: Replace config/mimes.php
+Step 3: Replace config/mimes.php
 ********************************
 
 This config file has been updated to contain more user mime-types, please copy
 it to _application/config/mimes.php*.
 
 **************************************************************
-Step 3: Remove $autoload['core'] from your config/autoload.php
+Step 4: Remove $autoload['core'] from your config/autoload.php
 **************************************************************
 
 Use of the ``$autoload['core']`` config array has been deprecated as of CodeIgniter 1.4.1 and is now removed.
 Move any entries that you might have listed there to ``$autoload['libraries']`` instead.
 
 ***************************************************
-Step 4: Move your Log class overrides or extensions
+Step 5: Move your Log class overrides or extensions
 ***************************************************
 
 The Log Class is considered as a "core" class and is now located in the
@@ -43,7 +84,7 @@
 	application/libraries/MY_Log.php -> application/core/MY_Log.php
 
 *********************************************************
-Step 5: Convert your Session usage from library to driver
+Step 6: Convert your Session usage from library to driver
 *********************************************************
 
 When you load (or autoload) the Session library, you must now load it as a driver instead of a library. This means
@@ -67,7 +108,7 @@
 the drivers, so your extension may have to be broken down into separate library and driver class extensions.
 
 ***************************************
-Step 6: Update your config/database.php
+Step 7: Update your config/database.php
 ***************************************
 
 Due to 3.0.0's renaming of Active Record to Query Builder, inside your `config/database.php`, you will
@@ -79,13 +120,13 @@
 	$query_builder = TRUE;
 
 *******************************************
-Step 7: Move your error templates directory
+Step 8: Move your error templates directory
 *******************************************
 
 In version 3.0.0, the errors folder has been moved from _application/errors* to _application/views/errors*.
 
 *******************************************************
-Step 8: Update your config/routes.php containing (:any)
+Step 9: Update your config/routes.php containing (:any)
 *******************************************************
 
 Historically, CodeIgniter has always provided the **:any** wildcard in routing,
@@ -104,31 +145,6 @@
 	(.+)	// matches ANYTHING
 	(:any)	// matches any character, except for '/'
 
-*****************************************
-Step 9: Update your libraries' file names
-*****************************************
-
-CodeIgniter 3.0 only allows library file names to be named in a *ucfirst* manner
-(meaning that the first letter of the class name must be a capital). For example,
-if you have the following library file:
-
-	application/libraries/mylibrary.php
-
-... then you'll have to rename it to:
-
-	application/libraries/Mylibrary.php
-
-The same goes for driver libraries and extensions and/or overrides of CodeIgniter's
-own libraries and core classes.
-
-	application/libraries/MY_email.php
-	application/core/MY_Log.php
-
-The above files should respectively be renamed to the following:
-
-	application/libraries/MY_Email.php
-	application/core/MY_Log.php
-
 *****************************************************************************
 Step 10: Check the calls to Array Helper's element() and elements() functions
 *****************************************************************************
diff --git a/user_guide_src/source/libraries/file_uploading.rst b/user_guide_src/source/libraries/file_uploading.rst
index a92d3af..a295d74 100644
--- a/user_guide_src/source/libraries/file_uploading.rst
+++ b/user_guide_src/source/libraries/file_uploading.rst
@@ -83,7 +83,7 @@
 The Controller
 ==============
 
-Using a text editor, create a controller called upload.php. In it, place
+Using a text editor, create a controller called Upload.php. In it, place
 this code and save it to your **application/controllers/** directory::
 
 	<?php
diff --git a/user_guide_src/source/libraries/loader.rst b/user_guide_src/source/libraries/loader.rst
index b048f48..1597bf1 100644
--- a/user_guide_src/source/libraries/loader.rst
+++ b/user_guide_src/source/libraries/loader.rst
@@ -192,7 +192,7 @@
 
 If your model is located in a subdirectory, include the relative path
 from your models directory. For example, if you have a model located at
-application/models/blog/queries.php you'll load it using::
+application/models/blog/Queries.php you'll load it using::
 
 	$this->load->model('blog/queries');
 
diff --git a/user_guide_src/source/libraries/migration.rst b/user_guide_src/source/libraries/migration.rst
index b734f5c..9dc3c08 100644
--- a/user_guide_src/source/libraries/migration.rst
+++ b/user_guide_src/source/libraries/migration.rst
@@ -86,7 +86,7 @@
 Usage Example
 *************
 
-In this example some simple code is placed in **application/controllers/migrate.php** 
+In this example some simple code is placed in **application/controllers/Migrate.php** 
 to update the schema.::
 
 	<?php
diff --git a/user_guide_src/source/libraries/xmlrpc.rst b/user_guide_src/source/libraries/xmlrpc.rst
index a43c488..d2d695e 100644
--- a/user_guide_src/source/libraries/xmlrpc.rst
+++ b/user_guide_src/source/libraries/xmlrpc.rst
@@ -296,7 +296,7 @@
 The Client
 ----------
 
-Using a text editor, create a controller called xmlrpc_client.php. In
+Using a text editor, create a controller called Xmlrpc_client.php. In
 it, place this code and save it to your application/controllers/
 folder::
 
@@ -337,7 +337,7 @@
 The Server
 ----------
 
-Using a text editor, create a controller called xmlrpc_server.php. In
+Using a text editor, create a controller called Xmlrpc_server.php. In
 it, place this code and save it to your application/controllers/
 folder::
 
diff --git a/user_guide_src/source/tutorial/news_section.rst b/user_guide_src/source/tutorial/news_section.rst
index d7754e9..c21f4e6 100644
--- a/user_guide_src/source/tutorial/news_section.rst
+++ b/user_guide_src/source/tutorial/news_section.rst
@@ -16,7 +16,7 @@
 database or other data stores. They represent your data.
 
 Open up the application/models directory and create a new file called
-news_model.php and add the following code. Make sure you've configured
+News_model.php and add the following code. Make sure you've configured
 your database properly as described
 `here <../database/configuration.html>`_.
 
@@ -85,7 +85,7 @@
 that are going to display the news items to the user. This could be done
 in our pages controller created earlier, but for the sake of clarity, a
 new "news" controller is defined. Create the new controller at
-application/controllers/news.php.
+application/controllers/News.php.
 
 ::
 
diff --git a/user_guide_src/source/tutorial/static_pages.rst b/user_guide_src/source/tutorial/static_pages.rst
index 97c7460..330a50e 100644
--- a/user_guide_src/source/tutorial/static_pages.rst
+++ b/user_guide_src/source/tutorial/static_pages.rst
@@ -20,7 +20,7 @@
 As URL schemes become more complex, this may change. But for now, this
 is all we will need to know.
 
-Create a file at application/controllers/pages.php with the following
+Create a file at application/controllers/Pages.php with the following
 code.
 
 ::
